In response to the increase in the demand for higher performance and lower power consumption for digital equipment in recent years, the multi-core configuration in which a plurality of processor-cores (hereinafter also simply referred to as “cores”) are mounted on a built-in LSI (Large Scale Integration) has been attracting attention. This multi-core configuration for an LSI is also becoming an important technology in real-time systems for controlling systems and the like.
Multi-core systems are generally divided into an SMP (Symmetric Multi Processing) method and an AMP (Asymmetric Multi Processing) method.
In the SMP method, tasks are switched according to the available state of cores, the priority of the currently-executed task, and the like. Further, each task is configured so that it can be executed by any one of the cores. Therefore, it is possible to automatically distribute loads, and thus improving the overall performance of the system. However, since the automatic load distribution makes the prediction of the real-time performance very difficult, it is very difficult to adapt the SMP method to real-time systems.
On the other hand, in the AMP method, the system has a function-distribution-type configuration in which each task is executed only by a specific core. Therefore, the AMP method is suitable for real-time systems in which the ability to predict the system behavior is important, systems in which the cores to which specific hardware is connected are restricted, and the like.
In such a multi-core system in accordance with the AMP method, its performance changes depending on to which cores tasks are allocated. Therefore, in the multi-core system in accordance with the AMP method, it is necessary to search various ways of task allocation so that the optimal execution state is obtained and thereby to determine the optimal allocation.
Patent literature 1 discloses a technique relating to a tuning support apparatus that efficiently performs software tuning aimed at a multi-core processor equipped with a plurality of cores. FIG. 14 shows the configuration of the tuning support apparatus disclosed in Patent literature 1.
In this tuning support apparatus, firstly, a granularity information acquisition unit 201 acquires information about granularity (granularity information) assigned to each core. Note that the granularity is a unit, for example, for a process performed by a processor, and is a general term for tasks, functions, and processes constituting functions.
A configuration information generation unit 204 calculates the number of times of appearances for each task or each function included in a task based on the acquired granularity information, and thereby generates information about the calculated number of times of appearances (configuration information).
A dependence information generation unit 206 generates information about the dependence of each task or each function included in a task on other tasks or functions (dependence information) based on the acquired granularity information. An output unit 203 outputs each of these information items.
With this configuration, the tuning support apparatus can efficiently analyze and manage the configuration information for the load distribution. By using this analyzed information, it is possible to allocate tasks to cores with excellent performance in a multi-processor.